package com.hpq.user.service;

import com.hpq.user.domain.dto.UserLoginDTO;
import com.hpq.user.domain.model.User;
import com.hpq.user.domain.vo.response.user.UserBadgesResp;
import com.hpq.user.domain.vo.response.user.UserInfoResp;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 用户服务类
 */
public interface UserService {
    /**
     * 获取用户详情
     * @return
     */
    UserInfoResp getUserInfo(Long uid);

    /**
     * 登录
     * @param userLoginDTO
     * @return
     */
    User login(UserLoginDTO userLoginDTO);

    /**
     * 注册
     * @param userSave
     */
    void register(User userSave);

    /**
     * 修改用户名
     * @param uid
     * @param name
     */
    void modifyName(Long uid,String name);

    List<UserBadgesResp> getBadges(Long uid);

    void wearBadge(Long uid, Long itemId);
}
